/**
 * MemberResource.java
 * 
 * Copyright@2015 OVT Inc. All rights reserved. 
 * 
 * Dec 29, 2015
 */
package com.ovt.doorbell.payment.dao.vo;

import java.sql.Timestamp;

import com.ovt.doorbell.payment.dao.constant.MemberResourceStatus;
import com.ovt.doorbell.payment.dao.constant.ResourceType;

/**
 * MemberResource
 * 
 * @Author zhi.liu
 * @Version 1.0
 * @See 
 * @Since [OVT Cloud Platform]/[API] 1.0
 */
public class MemberResource extends BaseEntity implements Cloneable
{

    private ResourceType resourceType;
    
    private int resourceSize;
    
    private float resourcePrice;
    
    private String orderNo;
    
    private MemberResourceStatus status;
    
    private Timestamp startTime;
    
    private Timestamp expireTime;
    
    private Timestamp endTime;
    
    public MemberResource() {}
    
    public MemberResource(ResourceType resourceType) 
    {
        this.resourceType = resourceType;
    }

    public int getResourceSize()
    {
        return resourceSize;
    }

    public void setResourceSize(int resourceSize)
    {
        this.resourceSize = resourceSize;
    }

    public String getOrderNo()
    {
        return orderNo;
    }

    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public Timestamp getStartTime()
    {
        return startTime;
    }

    public void setStartTime(Timestamp startTime)
    {
        this.startTime = startTime;
    }

    public Timestamp getExpireTime()
    {
        return expireTime;
    }

    public void setExpireTime(Timestamp expireTime)
    {
        this.expireTime = expireTime;
    }

    public Timestamp getEndTime()
    {
        return endTime;
    }

    public void setEndTime(Timestamp endTime)
    {
        this.endTime = endTime;
    }
    
    /* (non-Javadoc)
     * @see java.lang.Object#clone()
     */
    @Override
    public MemberResource clone() throws CloneNotSupportedException
    {
        // TODO Auto-generated method stub
        return (MemberResource) super.clone();
    }

    public ResourceType getResourceType()
    {
        return resourceType;
    }

    public void setResourceType(ResourceType resourceType)
    {
        this.resourceType = resourceType;
    }

    public MemberResourceStatus getStatus()
    {
        return status;
    }

    public void setStatus(MemberResourceStatus status)
    {
        this.status = status;
    }

    public float getResourcePrice()
    {
        return resourcePrice;
    }

    public void setResourcePrice(float resourcePrice)
    {
        this.resourcePrice = resourcePrice;
    }
}
